import quantile from "./quantile.js";

/**
 * [中位数](http://en.wikipedia.org/wiki/Median)是
 * 一组数字的中间值。当存在异常值导致`mean()`（均值）偏离时，
 * 中位数通常是“中间值”的良好指标。
 * 这是[集中趋势](https://en.wikipedia.org/wiki/Central_tendency)的一种度量方法：
 * 用于寻找一组数字的典型或中心值。
 *
 * 中位数不一定是列表中的元素之一：如果列表长度为偶数且两个中心值不同，
 * 则中位数可以是这两个元素的平均值。
 *
 * @param {Array<number>} x 输入数组
 * @returns {number} 中位数值
 * @example
 * median([10, 2, 5, 100, 2, 1]); // => 3.5
 */
function median(x) {
    return +quantile(x, 0.5);
}

export default median;
